
// 定义一个数组，存储求过的值

function fib(n:number,memo:number[] = []):number {
    // 这里当传入第一个的时候，返回1，传入地 O个的时候返回0
    if (n <= 1) return n;

    if(memo[n]){
        return memo[n];
    }

    // 来到这里说明要求的值不存在
    const res = fib(n - 1 ,memo)  + fib(n - 2 ,memo);
    // 这里对求得的值进行存储
    memo[n] = res;

    return res
}

console.log(fib(10))

console.log(fib(20))

export default {}